package com.sz.common.pay.pingan.constant;

import java.util.ArrayList;
import java.util.List;

/**
 * Function: 查询大小额联行号银行代码列表 <br>
 * Author: siqishangshu <br>
 * Date: 2017-10-27 13:22:00
 * <p>
 * 银行代码
 */
public class BankCodeData {

    private static final List<Bank> LIST = new ArrayList<>();

    static {
        LIST.add(new Bank("中国工商银行", "102"));
        LIST.add(new Bank("中国农业银行", "103"));
        LIST.add(new Bank("中国银行", "104"));
        LIST.add(new Bank("中国建设银行", "105"));
        LIST.add(new Bank("国家开发银行", "201"));
        LIST.add(new Bank("中国进出口银行", "202"));
        LIST.add(new Bank("中国农业发展银行", "203"));
        LIST.add(new Bank("交通银行", "301"));
        LIST.add(new Bank("中信银行", "302"));
        LIST.add(new Bank("中国光大银行", "303"));
        LIST.add(new Bank("华夏银行", "304"));
        LIST.add(new Bank("中国民生银行", "305"));
        LIST.add(new Bank("广东发展银行", "306"));
        LIST.add(new Bank("平安银行", "307"));
        LIST.add(new Bank("招商银行", "308"));
        LIST.add(new Bank("兴业银行", "309"));
        LIST.add(new Bank("上海浦东发展银行", "310"));
        LIST.add(new Bank("北京银行", "313"));
        LIST.add(new Bank("天津银行", "313"));
        LIST.add(new Bank("杭州银行", "313"));
        LIST.add(new Bank("大连银行", "313"));
        LIST.add(new Bank("盛京银行", "313"));
        LIST.add(new Bank("南京银行", "313"));
        LIST.add(new Bank("江苏银行", "313"));
        LIST.add(new Bank("上海银行", "313"));
        LIST.add(new Bank("锦州银行", "313"));
        LIST.add(new Bank("河北银行", "313"));
        LIST.add(new Bank("唐山市商业银行", "313"));
        LIST.add(new Bank("秦皇岛市商业银行", "313"));
        LIST.add(new Bank("邯郸市商业银行", "313"));
        LIST.add(new Bank("邢台市商业银行", "313"));
        LIST.add(new Bank("保定市商业银行", "313"));
        LIST.add(new Bank("张家口市商业银行", "313"));
        LIST.add(new Bank("承德银行", "313"));
        LIST.add(new Bank("沧州银行", "313"));
        LIST.add(new Bank("廊坊银行", "313"));
        LIST.add(new Bank("衡水市商业银行", "313"));
        LIST.add(new Bank("晋商银行", "313"));
        LIST.add(new Bank("大同市商业银行", "313"));
        LIST.add(new Bank("阳泉市商业银行", "313"));
        LIST.add(new Bank("长治市商业银行", "313"));
        LIST.add(new Bank("晋城市商业银行", "313"));
        LIST.add(new Bank("晋中市商业银行", "313"));
        LIST.add(new Bank("内蒙古银行", "313"));
        LIST.add(new Bank("包商银行", "313"));
        LIST.add(new Bank("乌海银行", "313"));
        LIST.add(new Bank("鄂尔多斯银行", "313"));
        LIST.add(new Bank("哈尔滨银行", "313"));
        LIST.add(new Bank("鞍山市商业银行", "313"));
        LIST.add(new Bank("抚顺市商业银行", "313"));
        LIST.add(new Bank("本溪市商业银行", "313"));
        LIST.add(new Bank("丹东市商业银行", "313"));
        LIST.add(new Bank("葫芦岛银行", "313"));
        LIST.add(new Bank("营口银行", "313"));
        LIST.add(new Bank("阜新银行", "313"));
        LIST.add(new Bank("辽阳银行", "313"));
        LIST.add(new Bank("盘锦市商业银行", "313"));
        LIST.add(new Bank("铁岭市商业银行", "313"));
        LIST.add(new Bank("朝阳市商业银行", "313"));
        LIST.add(new Bank("吉林银行", "313"));
        LIST.add(new Bank("龙江银行", "313"));
        LIST.add(new Bank("宁波银行", "313"));
        LIST.add(new Bank("浙江泰隆商业银行", "313"));
        LIST.add(new Bank("浙江稠州商业银行", "313"));
        LIST.add(new Bank("江苏长江商业银行", "313"));
        LIST.add(new Bank("临商银行", "313"));
        LIST.add(new Bank("温州银行", "313"));
        LIST.add(new Bank("嘉兴银行", "313"));
        LIST.add(new Bank("湖州市商业银行", "313"));
        LIST.add(new Bank("绍兴银行", "313"));
        LIST.add(new Bank("金华银行", "313"));
        LIST.add(new Bank("台州市商业银行", "313"));
        LIST.add(new Bank("浙江民泰商业银行", "313"));
        LIST.add(new Bank("福建海峡银行", "313"));
        LIST.add(new Bank("厦门银行", "313"));
        LIST.add(new Bank("泉州银行", "313"));
        LIST.add(new Bank("南昌银行", "313"));
        LIST.add(new Bank("九江银行", "313"));
        LIST.add(new Bank("赣州银行", "313"));
        LIST.add(new Bank("上饶银行", "313"));
        LIST.add(new Bank("齐鲁银行", "313"));
        LIST.add(new Bank("威海市商业银行", "313"));
        LIST.add(new Bank("青岛银行", "313"));
        LIST.add(new Bank("齐商银行", "313"));
        LIST.add(new Bank("枣庄市商业银行", "313"));
        LIST.add(new Bank("东营市商业银行", "313"));
        LIST.add(new Bank("烟台银行", "313"));
        LIST.add(new Bank("潍坊银行", "313"));
        LIST.add(new Bank("济宁银行", "313"));
        LIST.add(new Bank("泰安市商业银行", "313"));
        LIST.add(new Bank("莱商银行", "313"));
        LIST.add(new Bank("德州银行", "313"));
        LIST.add(new Bank("日照银行", "313"));
        LIST.add(new Bank("郑州银行", "313"));
        LIST.add(new Bank("开封市商业银行", "313"));
        LIST.add(new Bank("洛阳银行", "313"));
        LIST.add(new Bank("平顶山市商业银行", "313"));
        LIST.add(new Bank("安阳市商业银行", "313"));
        LIST.add(new Bank("鹤壁市商业银行", "313"));
        LIST.add(new Bank("新乡银行", "313"));
        LIST.add(new Bank("焦作市商业银行", "313"));
        LIST.add(new Bank("许昌银行", "313"));
        LIST.add(new Bank("漯河市商业银行", "313"));
        LIST.add(new Bank("三门峡市商业银行", "313"));
        LIST.add(new Bank("商丘市商业银行", "313"));
        LIST.add(new Bank("周口市商业银行", "313"));
        LIST.add(new Bank("驻马店市商业银行", "313"));
        LIST.add(new Bank("南阳市商业银行", "313"));
        LIST.add(new Bank("信阳市商业银行", "313"));
        LIST.add(new Bank("汉口银行", "313"));
        LIST.add(new Bank("黄石银行", "313"));
        LIST.add(new Bank("宜昌市商业银行", "313"));
        LIST.add(new Bank("襄樊市商业银行", "313"));
        LIST.add(new Bank("孝感市商业银行", "313"));
        LIST.add(new Bank("荆州市商业银行", "313"));
        LIST.add(new Bank("长沙银行", "313"));
        LIST.add(new Bank("株洲市商业银行", "313"));
        LIST.add(new Bank("湘潭市商业银行", "313"));
        LIST.add(new Bank("衡阳市商业银行", "313"));
        LIST.add(new Bank("岳阳市商业银行", "313"));
        LIST.add(new Bank("广州银行", "313"));
        LIST.add(new Bank("珠海市商业银行", "313"));
        LIST.add(new Bank("湛江市商业银行", "313"));
        LIST.add(new Bank("东莞银行", "313"));
        LIST.add(new Bank("广西北部湾银行", "313"));
        LIST.add(new Bank("柳州市商业银行", "313"));
        LIST.add(new Bank("桂林市商业银行", "313"));
        LIST.add(new Bank("成都银行", "313"));
        LIST.add(new Bank("重庆银行", "313"));
        LIST.add(new Bank("自贡市商业银行", "313"));
        LIST.add(new Bank("攀枝花市商业银行", "313"));
        LIST.add(new Bank("泸州市商业银行", "313"));
        LIST.add(new Bank("德阳市商业银行", "313"));
        LIST.add(new Bank("绵阳市商业银行", "313"));
        LIST.add(new Bank("遂宁市商业银行", "313"));
        LIST.add(new Bank("乐山市商业银行", "313"));
        LIST.add(new Bank("宜宾市商业银行", "313"));
        LIST.add(new Bank("南充市商业银行", "313"));
        LIST.add(new Bank("达州市商业银行", "313"));
        LIST.add(new Bank("雅安市商业银行", "313"));
        LIST.add(new Bank("凉山州商业银行", "313"));
        LIST.add(new Bank("贵阳市商业银行", "313"));
        LIST.add(new Bank("贵州省六盘水市商业银行", "313"));
        LIST.add(new Bank("遵义市商业银行", "313"));
        LIST.add(new Bank("安顺市商业银行", "313"));
        LIST.add(new Bank("富滇银行", "313"));
        LIST.add(new Bank("曲靖市商业银行", "313"));
        LIST.add(new Bank("玉溪市商业银行", "313"));
        LIST.add(new Bank("宁夏银行", "313"));
        LIST.add(new Bank("西安市商业银行", "313"));
        LIST.add(new Bank("长安银行", "313"));
        LIST.add(new Bank("兰州银行", "313"));
        LIST.add(new Bank("平凉市商业银行", "313"));
        LIST.add(new Bank("青海银行", "313"));
        LIST.add(new Bank("石嘴山银行", "313"));
        LIST.add(new Bank("乌鲁木齐市商业银行", "313"));
        LIST.add(new Bank("昆仑银行", "313"));
        LIST.add(new Bank("库尔勒市商业银行", "313"));
        LIST.add(new Bank("奎屯市商业银行", "313"));
        LIST.add(new Bank("天津滨海农村商业银行", "314"));
        LIST.add(new Bank("江苏江阴农村商业银行", "314"));
        LIST.add(new Bank("江苏东吴农村商业银行", "314"));
        LIST.add(new Bank("太仓农村商业银行", "314"));
        LIST.add(new Bank("昆山市农村商业银行", "314"));
        LIST.add(new Bank("吴江农村商业银行", "314"));
        LIST.add(new Bank("江苏常熟农村商业银行", "314"));
        LIST.add(new Bank("张家港农村商业银行", "314"));
        LIST.add(new Bank("广州农村商业银行", "314"));
        LIST.add(new Bank("佛山顺德农村商业银行", "314"));
        LIST.add(new Bank("重庆农村商业银行", "314"));
        LIST.add(new Bank("恒丰银行", "315"));
        LIST.add(new Bank("浙商银行", "316"));
        LIST.add(new Bank("天津农村商业银行", "317"));
        LIST.add(new Bank("渤海银行", "318"));
        LIST.add(new Bank("徽商银行", "319"));
        LIST.add(new Bank("重庆三峡银行", "321"));
        LIST.add(new Bank("本溪市城市信用社", "401"));
        LIST.add(new Bank("景德镇市城市信用社", "401"));
        LIST.add(new Bank("濮阳市城市信用社", "401"));
        LIST.add(new Bank("邵阳市城市信用社", "401"));
        LIST.add(new Bank("白银市城市信用社", "401"));
        LIST.add(new Bank("哈密市城市信用社", "401"));
        LIST.add(new Bank("北京农村商业银行", "402"));
        LIST.add(new Bank("河北省农村信用社", "402"));
        LIST.add(new Bank("山西省农村信用社", "402"));
        LIST.add(new Bank("晋城市农村信用社", "402"));
        LIST.add(new Bank("临汾市尧都区农村信用社", "402"));
        LIST.add(new Bank("运城市农村信用社", "402"));
        LIST.add(new Bank("内蒙古自治区农村信用社", "402"));
        LIST.add(new Bank("辽宁省农村信用社", "402"));
        LIST.add(new Bank("吉林省农村信用社", "402"));
        LIST.add(new Bank("黑龙江省农村信用社", "402"));
        LIST.add(new Bank("上海农村商业银行", "402"));
        LIST.add(new Bank("江苏省农村信用社", "402"));
        LIST.add(new Bank("浙江省农村信用社", "402"));
        LIST.add(new Bank("宁波鄞州农村合作银行", "402"));
        LIST.add(new Bank("安徽省农村信用社", "402"));
        LIST.add(new Bank("福建省农村信用社", "402"));
        LIST.add(new Bank("江西省农村信用社", "402"));
        LIST.add(new Bank("山东省农村信用社", "402"));
        LIST.add(new Bank("郑州农村信用社", "402"));
        LIST.add(new Bank("河南省农村信用社", "402"));
        LIST.add(new Bank("湖北省农村信用社", "402"));
        LIST.add(new Bank("湖南省农村信用社", "402"));
        LIST.add(new Bank("广东省农村信用社", "402"));
        LIST.add(new Bank("深圳农村商业银行", "402"));
        LIST.add(new Bank("东莞农村商业银行", "402"));
        LIST.add(new Bank("广西壮族自治区农村信用社", "402"));
        LIST.add(new Bank("海南省农村信用社", "402"));
        LIST.add(new Bank("成都市农村信用社", "402"));
        LIST.add(new Bank("四川省农村信用社", "402"));
        LIST.add(new Bank("贵州省农村信用社", "402"));
        LIST.add(new Bank("云南省农村信用社", "402"));
        LIST.add(new Bank("陕西省农村信用社", "402"));
        LIST.add(new Bank("甘肃省农村合作金融结算服务中心", "402"));
        LIST.add(new Bank("青海省农村信用社", "402"));
        LIST.add(new Bank("宁夏黄河农村商业银行", "402"));
        LIST.add(new Bank("新疆维吾尔自治区农村信用社", "402"));
        LIST.add(new Bank("中国邮政储蓄银行", "403"));
        LIST.add(new Bank("汇丰银行", "501"));
        LIST.add(new Bank("东亚银行", "502"));
        LIST.add(new Bank("南洋商业银行", "503"));
        LIST.add(new Bank("恒生银行", "504"));
        LIST.add(new Bank("集友银行", "506"));
        LIST.add(new Bank("创兴银行", "507"));
        LIST.add(new Bank("星展银行", "509"));
        LIST.add(new Bank("永亨银行", "510"));
        LIST.add(new Bank("永隆银行", "512"));
        LIST.add(new Bank("大新银行", "513"));
        LIST.add(new Bank("中信嘉华银行", "514"));
        LIST.add(new Bank("花旗银行", "531"));
        LIST.add(new Bank("美国银行", "532"));
        LIST.add(new Bank("摩根大通银行", "533"));
        LIST.add(new Bank("美国建东银行", "534"));
        LIST.add(new Bank("三菱东京日联银行", "561"));
        LIST.add(new Bank("三井住友银行", "563"));
        LIST.add(new Bank("瑞穗实业银行", "564"));
        LIST.add(new Bank("瑞穗银行", "564"));
        LIST.add(new Bank("日本山口银行", "565"));
        LIST.add(new Bank("外换银行", "591"));
        LIST.add(new Bank("友利银行", "593"));
        LIST.add(new Bank("韩国产业银行", "594"));
        LIST.add(new Bank("新韩银行", "595"));
        LIST.add(new Bank("企业银行", "596"));
        LIST.add(new Bank("韩亚银行", "597"));
        LIST.add(new Bank("华侨银行", "621"));
        LIST.add(new Bank("大华银行", "622"));
        LIST.add(new Bank("盘谷银行", "631"));
        LIST.add(new Bank("奥地利中央合作银行", "641"));
        LIST.add(new Bank("比利时联合银行", "651"));
        LIST.add(new Bank("比利时富通银行", "652"));
        LIST.add(new Bank("荷兰银行", "661"));
        LIST.add(new Bank("荷兰安智银行", "662"));
        LIST.add(new Bank("渣打银行", "671"));
        LIST.add(new Bank("英国渣打银行", "671"));
        LIST.add(new Bank("英国苏格兰皇家银行", "672"));
        LIST.add(new Bank("法国兴业银行", "691"));
        LIST.add(new Bank("东方汇理银行", "694"));
        LIST.add(new Bank("法国外贸银行", "695"));
        LIST.add(new Bank("德意志银行", "712"));
        LIST.add(new Bank("德国商业银行", "713"));
        LIST.add(new Bank("德国西德银行", "714"));
        LIST.add(new Bank("德国北德意志州银行", "716"));
        LIST.add(new Bank("意大利联合圣保罗银行", "732"));
        LIST.add(new Bank("瑞士信贷银行", "741"));
        LIST.add(new Bank("瑞士银行", "742"));
        LIST.add(new Bank("加拿大丰业银行", "751"));
        LIST.add(new Bank("加拿大蒙特利尔银行", "752"));
        LIST.add(new Bank("澳大利亚和新西兰银行", "761"));
        LIST.add(new Bank("摩根士丹利国际银行", "771"));
        LIST.add(new Bank("华美银行", "775"));
        LIST.add(new Bank("荷兰合作银行", "776"));
        LIST.add(new Bank("厦门国际银行", "781"));
        LIST.add(new Bank("法国巴黎银行", "782"));
        LIST.add(new Bank("华商银行", "785"));
        LIST.add(new Bank("华一银行", "787"));
    }

    public static Bank getBankByName(String name) {
        for (Bank bank : LIST) {
            if (bank.getName().equals(name)) {
                return bank;
            }
        }
        return null;
    }

    public static List getBanksByCode(String code) {
        List<Bank> banks = new ArrayList<>();
        for (Bank bank : LIST) {
            if (bank.getCode().equals(code)) {
                banks.add(bank);
            }
        }
        return banks;
    }
}
